脚本作者：Lisztdreams
联系方式：5Mods账号ID：Lisztdreams
QQ邮箱：757946163@qq.com
哔哩哔哩uid：452301387
脚本更新时间：2026.04.29（适配燃油与电动系统）
(未经作者同意，禁止修改以及打包传播和售卖)

------------------脚本基本介绍---------------------

GTA V 永久性记录燃油与电动系统脚本 - 沉浸式驾驶体验

简介：

想让洛圣都的街头驾驶更加真实？这款燃油与电动系统脚本为你的每一辆车注入了灵魂——燃油与电量不再是无限的数字，而是一个需要精心管理的资源。从高转速烧油到温柔驾驶省电，从加油站油价波动到充电站电价浮动，从引擎手动启停到电动车静谧滑行，每一个细节都在向你低语：这里不是赛车游戏，而是一个活生生的世界。

1.前置插件要求

在开始享受能耗模拟之前，请确保已安装以下必备组件：

ScriptHookV：Rockstar游戏脚本钩子基础，必需
ScriptHookVDotNet：.NET脚本加载器，必需
DashHook：可选插件（https://www.gta5-mods.com/tools/dashhook）用于将燃油/电量数据传递给第三方仪表盘模组（如车辆真实仪表）。当油量或电量低于3升/3kWh时，脚本会自动点亮仪表盘上的燃油/电池警报灯，强烈推荐
Visual C++ Redistributable：运行库环境，通常已包含

安装提示：将 FuelAndElectricSystem.dll 放入 GTAV/scripts 文件夹即可。首次运行会自动生成 FuelAndElectricSystem.ini 配置文件。如果你曾使用旧版 FuelSystem，可直接将旧的 FuelSystem.ini 中的所有内容复制到新的 FuelAndElectricSystem.ini 里覆盖，脚本会自动将配置与车辆数据更新为新版格式，原有储存数据不会丢失。

2.核心机制：每一脚油门都在燃烧真实能量

能耗模型 —— 比真实更细腻

燃油车与电动车采用不同的能量消耗逻辑，但都由速度、油门深度、车辆类型共同动态决定：

（燃油车）
- 车速曲线：低速（0-60 km/h）相对省油，经济时速（约70-80 km/h）达到最佳，之后风阻剧增导致油耗急剧攀升——开到300 km/h以上，燃油会像洪水般倾泻。
- 转速因子：低转速时燃油效率高；当转速表指针逼近红线，发动机咆哮着吞没燃料，油耗瞬间飙升30%以上。
- 油门响应：轻点油门时油耗温和上升；地板油时，消耗率可达怠速的1.6倍——温柔驾驶才是省油王道。
- 车型系数：摩托车经济实惠，超级跑车喝油如饮水，大货车更是油老虎。每种车型都有独特的油耗乘数。

（电动车）
- 采用独立的电能消耗曲线，高速耗电大幅增加，但无转速影响。
- 油门深度直接影响能耗，怠速时几乎不耗电。
- 电动车默认电池容量（kWh）由车型类别决定。

玩家可实时观察瞬时能耗，感受不同驾驶风格的差异。

3.能耗状态与HUD

脚本提供两种显示模式，按 K 键切换：

- 精简能量条模式（默认）：屏幕下方一条精致的彩色进度条。燃油车为亮橙色（满油）渐变为暗红色（即将耗尽）；电动车为青色（满电）渐变为暗红色，并带有5单位（L或kWh）刻度标尺，一目了然。
- 完整文本模式（按 K 键切换）：显示当前能量（燃油或电量）、容量、瞬时消耗、平均消耗、预估续航里程，以及实时油门开度百分比。单位根据车辆类型自动显示 L 或 kWh。

4.加油站、充电站与价格系统

全地图预设了30+燃油加油站，充电桩则分布在各大加油站内部的停车位上。玩家只需驾驶电动汽车正确停在加油站内的指定停车位，即可使用充电功能。

每日浮动价格：每天凌晨刷新，燃油价格与电价均在一个合理区间内每日随机波动，模拟真实市场行情。

加油/充电流程：
- 燃油车驶入加油站区域（检测范围12米），熄火并停车，按 T 键开始加油，每秒钟自动添加0.8升燃油并扣费。
- 电动车需正确停在加油站内的停车位上，熄火后按 T 键开始充电，每秒钟补充0.5 kWh电能并扣费。
- 再次按 T 或启动引擎即停止。若车辆移动或启动引擎，补能自动取消。
- 错误引导：燃油车停在充电车位会提示前往加油站；电动车停在普通加油站会提示前往充电车位。

人性化提示：靠近补能点时，屏幕会显示当日价格、单位以及操作指引。

注意：引擎未熄火或车辆移动时无法加油/充电，安全第一！

5.引擎手动启停

默认按下空格键加回车键可手动关闭或启动引擎：
- 关闭引擎后车辆变得不可驾驶，能耗停止。
- 重新启动需要短暂冷却（防误触），且车辆必须有剩余能量（油>0 或电>0）。
- 适用于补能、节油/节电停车或角色扮演。

6.能量数据持久化

每辆车（按唯一车牌或模型+哈希识别）的燃油余量或电量会永久保存在 FuelAndElectricSystem.ini 的 [Fuel&Electric] 段中。即使完全退出游戏再重启，每辆车的能量剩余也会被准确还原，不会自动加满。
- 同款车型不同车牌独立记录剩余能量。
- 不同载具类型（轿车、跑车、货车、电动车等）拥有各自预设的默认油箱/电池容量，无需逐一手动设定；如需覆盖默认值，可在 [Models] 段单独指定。
- 支持加油站坐标和充电站坐标的自定义增减，并智能区分内置默认坐标，仅保存用户新增的坐标。

7.DashHook仪表盘集成

如果安装了DashHook插件，脚本会自动将能量剩余百分比推送给第三方仪表模组。当能量低于3（L或kWh）时，仪表盘警报灯点亮，给驾驶者直观警示。

8.自定义配置

所有参数均可通过 scripts/FuelAndElectricSystem.ini 调整。以下为更新后的配置项说明。

------------------脚本配置文件注释---------------------

以下为 FuelAndElectricSystem.ini 中主要配置项的说明，你可以在游戏根目录下的 scripts 文件夹中找到该文件。

[General]
DebugMode = 0                # 调试模式（等同于 DEVELOPER_MODE），0=关闭，1=开启（上车显示匹配信息）
ReloadHotkey = 116           # 热重载按键码，116=F5
GlobalFuelGaugeOffset = 0.0  # （保留，实际由模型偏移覆盖）

[HUD]
FUEL/ELECTRIC_BAR_MODE = 1          # HUD模式，2=文本+能量条模式; 1=精简能量条模式; 0=完整文本模式;
FUEL/ELECTRIC_BAR = 0.0755/0.808/0.139/0.006  # 能量条位置与尺寸（X/Y/宽/高）
FUEL/ELECTRIC_BAR_SHOW_TICKS = 1    # 是否显示5单位（L/kWh）刻度
ShowThrottleHUD = 1                 # 是否在文本模式下显示油门开度

以下为完整文本模式下各信息的位置与缩放（X/Y/Z/Scale）
FUEL/ELECTRIC = 0.02/0.02/0/0.4   # 能量数值文本（燃油/电量）
Inst = 0.02/0.06/0/0.35           # 瞬时消耗
Avg = 0.02/0.10/0/0.35            # 平均消耗
Range = 0.02/0.14/0/0.35          # 预估续航
Price = 0.85/0.02/0/0.35          # 当日价格显示位置
Throttle = 0.02/0.18/0/0.35       # 油门开度文本
HUDColorA = 255                   # 文本透明度（0-255）

[Keys]
EngineToggleKey1 = 32              # 引擎启停按键1（空格）
EngineToggleKey2 = 13              # 引擎启停按键2（回车）
Refuel/ElectricKey = 84            # 加油/充电键（T）
Fuel/ElectricBarToggleKey = 75     # 切换HUD模式键（K）

[FuelStations]
燃油加油站坐标列表，每行格式：X,Y,Z（整数坐标），可自行增删。内置默认加油站不会重复写入此区段。

[ChargingStations]
充电车位坐标列表，每行格式：X,Y,Z（整数坐标），可自行增删。内置默认充电车位不会重复写入此区段。

[Models]
为特定车型指定油箱或电池容量。无需注明单位，直接写数值即可，例如 INFERNUS=75。脚本会自动根据车辆类型识别并用 L 或 kWh 解读。不同的载具类型（如轿车、跑车、货车等）拥有不同的默认油箱/电池容量，若不手动设置会使用内置预设值。

[Fuel&Electric]
能量数据持久化区域，由脚本自动维护，请勿手动修改。
存储格式示例：ABC123,INFERNUS,45.0L  或  VOLTIC_HASH,VOLTIC,22.0kWh

[Fuel/ElectricGaugeOffset]
为特定车型校准 DashHook 能量表指针偏移，格式：模型名称 = 偏移值（-0.1 到 0.1）
示例：ADDER = 0.05
注：向下兼容旧版 [FuelGaugeOffset] 区段。

[Debug]
DEVELOPER_MODE = 0                # 开发者调试信息开关，1=开启